home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u378.dms / in.adf / Address.AMOS / Address.amosSourceCode next >
Encoding:
AMOS Source Code  |  1991-06-13  |  17.3 KB  |  565 lines

  1. Close Workbench 
  2. Close Editor 
  3. Rem ---------------------------------
  4. Rem Open Main Screen And Set Up Zones
  5. Rem ---------------------------------
  6. Screen Open 2,320,250,8,Lowres
  7. Unpack 2 To 2
  8. Paper 5 : Locate 0,0 : Print " " : Curs Off 
  9. Get Block 1,75,75,176,80,0
  10. Ink 0,0,0
  11. Bar 75,75 To 245,150
  12. Ink 4,4,4
  13. Bar 77,77 To 242,148
  14. Flash 7,"(F00,5)(E00,5)(D00,5)(C00,5)(B00,5)(A00,5)(B00,5)(C00,5)(D00,5)(E00,5)"
  15. Ink 7,4,4
  16. Text 81,90,"Digital Address Book"
  17. Ink 0,4,4
  18. Text 103,108,"By Mark Jarvis"
  19. Text 100,126,"Written 17/7/91"
  20. Box 115,136 To 205,146
  21. Ink 1
  22. Paint 116,137
  23. Ink 0,1,1
  24. Text 119,144,"CLICK HERE"
  25. Reserve Zone 53
  26. Set Zone 1,116,137 To 204,145
  27. Repeat 
  28.    M=Mouse Zone
  29.    C=Mouse Click
  30. Until M=1 and C<>0
  31. Put Block 1
  32. Bell 
  33. Paper 5 : Locate 0,0 : Print " " : Curs Off 
  34. Rem set zone z,x1,y1 TO x2,y2
  35. Set Zone 1,0,189 To 50,208
  36. Set Zone 2,58,189 To 108,208
  37. Set Zone 3,109,189 To 158,208
  38. Set Zone 4,167,189 To 199,208
  39. Set Zone 5,0,219 To 50,238
  40. Set Zone 6,58,219 To 108,238
  41. Set Zone 7,109,219 To 158,238
  42. Set Zone 8,159,219 To 206,238
  43. Y1=189 : Y2=198 : Z=9
  44. For AGAIN=1 To 4
  45.    X1=208 : X2=218
  46.    For TURN=1 To 10
  47.       Set Zone Z,X1,Y1 To X2,Y2
  48.       X1=X1+11 : X2=X2+11 : Z=Z+1
  49.    Next TURN
  50.    Y1=Y1+10 : Y2=Y2+10
  51. Next AGAIN
  52. Set Zone 49,208,229 To 240,238
  53. Set Zone 50,241,229 To 306,238
  54. Set Zone 51,307,229 To 317,238
  55. Set Zone 52,159,189 To 166,208
  56. Set Zone 53,200,189 To 207,208
  57. Rem ---------------- 
  58. Rem Define Variables 
  59. Rem ---------------- 
  60. Global OPEN,FOUND,FILE$,NUM,LIMIT,X,Y,T$,DUMP$,COUL,RECORD,MACKS
  61. Global SURNAME$,FIRST$,NUMBER$,ADRESS1$,ADRESS2$,ADRESS3$,COUNTY$,POST$
  62. Global PHONE$,CODE$
  63. OPEN=0 : FOUND=0 : FILE$="" : RECORD=1 : MACKS=1
  64. Limit Mouse 
  65. Rem ---------------------------------------- 
  66. Rem Wait For One Of The Boxes To Be Selected 
  67. Rem ---------------------------------------- 
  68. Do 
  69.    M=Mouse Zone
  70.    C=Mouse Click
  71.    If C<>0 and M=2 Then M=2 : If OPEN=1 Then Bell : Proc AAD
  72.    If C<>0 and M=3 Then M=3 : If FOUND=1 Then Bell : Proc ALTER
  73.    If C<>0 and M=4 Then M=4 : If OPEN=1 Then Bell : Proc VEIW
  74.    If C<>0 and M=5 Then Bell : Proc OPEN
  75.    If C<>0 and M=6 Then M=6 : If OPEN=1 Then Bell : Proc SEARCH
  76.    If C<>0 and M=8 Then Bell : Proc QUIT
  77. Loop 
  78. Rem -----------------------------------------------
  79. Rem Open A New File And Name It
  80. Rem -----------------------------------------------
  81. Procedure OPEN
  82.    NUM=0 : DUMP$=""
  83.    Curs Off : Flash Off : Ink 2,3,3 : Paper 5
  84.    T$="Enter File Name"
  85.    Text 90,168,T$
  86.    Paper 5 : Locate 0,0 : Print " "
  87.    NUM=0
  88.    LIMIT=16
  89.    X=90 : Y=168
  90.    COUL=2
  91.    Proc MOUSE
  92.    Rem ------------------------ 
  93.    Rem Give File Opened Message 
  94.    Rem ------------------------ 
  95.    Curs Off : Flash Off : Ink 2,3,3
  96.    T$="                  "
  97.    Text 90,168,T$
  98.    Paper 5 : Locate 0,0 : Print " "
  99.    If DUMP$<>"" Then T$="File Opened"
  100.    If DUMP$="" Then T$="File not Opened"
  101.    Text 90,168,T$
  102.    Bell 
  103.    Wait 5
  104.    Paper 5 : Locate 0,0 : Print " "
  105.    T$="                "
  106.    Wait 50 : Text 90,168,T$
  107.    Paper 5 : Locate 0,0 : Print " "
  108.    If DUMP$="" Then Goto MIS
  109.    F=Instr(FILE$,DUMP$)
  110.    If F<>0 Then FILE$=DUMP$ : Goto SAME
  111.    FILE$=DUMP$
  112.    FLAG=Exist(FILE$)
  113.    If FLAG=-1 Then Kill FILE$
  114.    If OPEN=1 Then Close 1
  115.    OPEN=0 : FOUND=0 : RECORD=1 : MACKS=1
  116.    Open Random 1,FILE$
  117.    Field 1,18 As SURNAME$,18 As FIRST$,13 As NUMBER$,18 As ADRESS1$,18 As ADRESS2$,18 As ADRESS3$,15 As COUNTY$,12 As POST$,12 As PHONE$,10 As CODE$
  118.    MACKS$=Str$(MACKS)
  119.    SURNAME$=MACKS$
  120.    Put 1,1
  121.    SAME: OPEN=1
  122.    MIS:
  123. End Proc
  124. Rem ---------------------------- 
  125. Rem Add A New Record To The File 
  126. Rem ---------------------------- 
  127. Procedure AAD
  128.    RECORD=MACKS
  129.    If RECORD>5 Then Pop Proc
  130.    Curs Off : Flash Off : Ink 0,4,4
  131.    T$=Str$(RECORD)
  132.    Text 89,29,T$
  133.    Ink 2,3,3
  134.    Paper 5 : Locate 0,0 : Print " "
  135.    AGA: T$="Keyboard or Mouse K/M"
  136.    Text 90,168,T$
  137.    Paper 5 : Locate 0,0 : Print " "
  138.    SWITCH=0
  139.    COUL=6
  140.    DUMP$=""
  141.    Repeat 
  142.       C=Mouse Key
  143.       M=Mouse Zone
  144.       If C<>0 and M=19 Then SELECT$="K" : SWITCH=1
  145.       If C<>0 and M=21 Then SELECT$="M" : SWITCH=1
  146.    Until SWITCH=1
  147.    T$="Enter Your Details   "
  148.    Text 90,168,T$
  149.    Paper 5 : Locate 0,0 : Print " "
  150.    NUM=0
  151.    LIMIT=18
  152.    X=79 : Y=46
  153.    Curs Off : Flash Off : Ink COUL,3,3
  154.    T$="                  "
  155.    Text X,Y,T$
  156.    Paper 5 : Locate 0,0 : Print " "
  157.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  158.    Rem ---------------------------------- 
  159.    Rem Get The Information For The Record 
  160.    Rem ---------------------------------- 
  161.    SURNAME$=DUMP$ : DUMP$="" : LIMIT=18 : X=104 : Y=56
  162.    T$="                  "
  163.    Text X,Y,T$
  164.    Paper 5 : Locate 0,0 : Print " "
  165.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  166.    FIRST$=DUMP$ : DUMP$="" : LIMIT=13 : X=160 : Y=66
  167.    T$="                  "
  168.    Text X,Y,T$
  169.    Paper 5 : Locate 0,0 : Print " "
  170.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  171.    NUMBER$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=76
  172.    T$="                  "
  173.    Text X,Y,T$
  174.    Paper 5 : Locate 0,0 : Print " "
  175.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  176.    ADRESS1$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=86
  177.    T$="                  "
  178.    Text X,Y,T$
  179.    Paper 5 : Locate 0,0 : Print " "
  180.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  181.    ADRESS2$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=96
  182.    T$="                  "
  183.    Text X,Y,T$
  184.    Paper 5 : Locate 0,0 : Print " "
  185.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  186.    ADRESS3$=DUMP$ : DUMP$="" : LIMIT=15 : X=120 : Y=106
  187.    T$="                  "
  188.    Text X,Y,T$
  189.    Paper 5 : Locate 0,0 : Print " "
  190.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  191.    COUNTY$=DUMP$ : DUMP$="" : LIMIT=12 : X=128 : Y=116
  192.    T$="                  "
  193.    Text X,Y,T$
  194.    Paper 5 : Locate 0,0 : Print " "
  195.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  196.    POST$=DUMP$ : DUMP$="" : LIMIT=12 : X=63 : Y=126
  197.    T$="                  "
  198.    Text X,Y,T$
  199.    Paper 5 : Locate 0,0 : Print " "
  200.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  201.    PHONE$=DUMP$ : DUMP$="" : LIMIT=10 : X=152 : Y=136
  202.    T$="                  "
  203.    Text X,Y,T$
  204.    Paper 5 : Locate 0,0 : Print " "
  205.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  206.    CODE$=DUMP$ : DUMP$=""
  207.    Rem ---------------------------  
  208.    Rem Check That Details Are Okay  
  209.    Rem ---------------------------  
  210.    Curs Off : Flash Off : Ink 2,3,3
  211.    T$="                    "
  212.    Text 90,168,T$
  213.    Paper 5 : Locate 0,0 : Print " "
  214.    T$="Is This Correct Y/N"
  215.    Text 90,168,T$
  216.    Bell 
  217.    SWITCH=0
  218.    Repeat 
  219.       M=Mouse Zone
  220.       C=Mouse Key
  221.       If C<>0 and M=22 Then SELECT$="N" : SWITCH=1
  222.       If C<>0 and M=33 Then SELECT$="Y" : SWITCH=1
  223.    Until SWITCH=1
  224.    If SELECT$="N" Then Goto AGA
  225.    If SELECT$="Y" Then Put 1,(RECORD+1)
  226.    MACKS=MACKS+1
  227.    MACKS$=Str$(MACKS)
  228.    SIR$=SURNAME$
  229.    SURNAME$=MACKS$
  230.    Put 1,1
  231.    SURNAME$=SIR$
  232.    Curs Off : Flash Off : Ink 2,3,3
  233.    T$="                    "
  234.    Text 90,168,T$
  235.    Paper 5 : Locate 0,0 : Print " "
  236.    FOUND=1 : Bell 
  237. End Proc
  238. Rem -----------------------------
  239. Rem Input Details Using The Mouse  
  240. Rem -----------------------------
  241. Procedure MOUSE
  242.    Wait 15
  243.    NUM=0
  244.    Repeat 
  245.       CHECK=0
  246.       M=Mouse Zone
  247.       C=Mouse Key
  248.       Rem ---------------------------------
  249.       Rem Check For A Letter To Be Chosen
  250.       Rem ---------------------------------
  251.       If C<>0 and M>8 Then S$=(Chr$(M+56)) : If NUM<LIMIT Then CHECK=1
  252.       If CHECK=1 Then CHECK=1 : If M>8 and M<35 Then DUMP$=DUMP$+S$
  253.       If M<9 or M>34 Then CHECK=0
  254.       If CHECK=1 Then Goto PRIT2 Else CHECK=0
  255.       Rem ---------------------------------
  256.       Rem Check For A Number To Be Chosen
  257.       Rem ---------------------------------
  258.       If C<>0 and M>8 Then S$=(Chr$(M+13)) : If NUM<LIMIT Then CHECK=1
  259.       If CHECK=1 Then CHECK=1 : If M>34 and M<45 Then DUMP$=DUMP$+S$
  260.       If M<35 or M>44 Then CHECK=0
  261.       If CHECK=1 Then Goto PRIT2 Else CHECK=0
  262.       Rem -------------------------------------  
  263.       Rem Test For A Full Stop Or A Minus Sign   
  264.       Rem -------------------------------------  
  265.       If C<>0 and M>8 Then S$=(Chr$(93-M)) : If NUM<LIMIT Then CHECK=1
  266.       If CHECK=1 Then CHECK=1 : If M>46 and M<49 Then DUMP$=DUMP$+S$
  267.       If M<47 or M>48 Then CHECK=0
  268.       If CHECK=1 Then Goto PRIT2 Else CHECK=0
  269.       Rem -----------------------------------------  
  270.       Rem Test For A Space Or Enter To Be Selected   
  271.       Rem -----------------------------------------  
  272.       If C<>0 and M=51 Then M=51 : If NUM<LIMIT Then DUMP$=DUMP$+" " : Goto PRIT2
  273.       If C<>0 and M=49 Then NUM=LIMIT+1
  274.       Rem ---------------------------
  275.       Rem Check For The Bracket Signs  
  276.       Rem ---------------------------  
  277.       If C<>0 and M>8 Then S$=(Chr$(M-5)) : If NUM<LIMIT Then CHECK=1
  278.       If CHECK=1 Then CHECK=1 : If M>44 and M<47 Then DUMP$=DUMP$+S$
  279.       If M<45 or M>46 Then CHECK=0
  280.       If CHECK=1 Then Goto PRIT2 Else CHECK=0
  281.       Rem ------------------------------ 
  282.       Rem Test For Delete To Be Entered  
  283.       Rem ------------------------------ 
  284.       If C<>0 and M=50 Then M=50 : If NUM>0 and NUM<LIMIT+1 Then CHECK=1
  285.       If CHECK=1 Then DUMP2$=Left$(DUMP$,NUM-1)
  286.       If CHECK=1 Then NUM=NUM-2
  287.       If CHECK=1 Then DUMP$=DUMP2$ : Goto PRIT2
  288.       Goto NO2
  289.       Rem ---------------------------------
  290.       Rem Update The Details On The Screen 
  291.       Rem ---------------------------------
  292.       PRIT2:
  293.       Curs Off : Flash Off : Ink COUL,3,3
  294.       T$="                  "
  295.       Text X,Y,T$
  296.       Text X,Y,DUMP$ : NUM=NUM+1 : Wait 10
  297.       Paper 5 : Locate 0,0 : Print " "
  298.       NO2:
  299.    Until NUM>LIMIT
  300. End Proc
  301. Rem ------------------------ 
  302. Rem Input Details Using Keys   
  303. Rem ------------------------ 
  304. Procedure KEYBOARD
  305.    NUM=0
  306.    Repeat 
  307.       CHECK=0
  308.       Clear Key 
  309.       NAF: K$=Inkey$
  310.       If K$="" Then Goto NAF
  311.       Rem ---------------------------------- 
  312.       Rem Test For Letter Keys Being Pressed 
  313.       Rem ---------------------------------- 
  314.       If NUM<LIMIT Then CHECK=1 : P=Asc(K$)
  315.       If CHECK=1 Then CHECK=1 : If P>31 and P<123 Then CHECK=1 Else CHECK=0
  316.       If CHECK=1 Then DUMP$=DUMP$+K$
  317.       If CHECK=1 Then Goto PRIT3
  318.       Rem ---------------------------------------
  319.       Rem Check For Enter Or Delete To Be Pressed
  320.       Rem ---------------------------------------
  321.       P=Asc(K$) : If P=13 Then NUM=LIMIT+1
  322.       If P=8 and NUM>0 and NUM<LIMIT+1 Then CHECK=1
  323.       If CHECK=1 Then DUMP2$=Left$(DUMP$,NUM-1)
  324.       If CHECK=1 Then NUM=NUM-2
  325.       If CHECK=1 Then DUMP$=DUMP2$ : Goto PRIT3
  326.       Goto NO3
  327.       Rem ---------------------------------
  328.       Rem Update The Details On The Screen 
  329.       Rem ---------------------------------
  330.       PRIT3:
  331.       Curs Off : Flash Off : Ink COUL,3,3
  332.       T$="                  "
  333.       Text X,Y,T$
  334.       Text X,Y,DUMP$ : NUM=NUM+1
  335.       Paper 5 : Locate 0,0 : Print " "
  336.       NO3:
  337.    Until NUM>LIMIT
  338. End Proc
  339. Procedure SEARCH
  340.    Curs Off : Flash Off : Ink 2,3,3
  341.    T$="Enter Surname"
  342.    Text 90,168,T$
  343.    Ink 2,3,3
  344.    Paper 5 : Locate 0,0 : Print " "
  345.    DUMP$="" : COUL=2 : LIMIT=18 : X=90 : Y=168
  346.    CHECK: Proc MOUSE
  347.    If DUMP$="" Then Goto CHECK
  348.    Print ""
  349.    NAF=0
  350.    INSUF: CAUGHT=0
  351.    For TURN=2+NAF To MACKS
  352.       Get 1,TURN
  353.       SIR$=Upper$(SURNAME$)
  354.       I=Len(DUMP$)
  355.       SIRE$=Left$(SIR$,I)
  356.       If SIRE$=DUMP$ Then CAUGHT=1 : Goto BEEP
  357.    Next TURN
  358.    BEEP: If CAUGHT=1 Then Goto FOUND
  359.    BEEPIT: Curs Off : Flash Off : Ink 2,3,3
  360.    T$="Record not found"
  361.    Text 90,168,T$
  362.    Ink 2,3,3
  363.    Paper 5 : Locate 0,0 : Print " "
  364.    Wait 50
  365.    T$="                "
  366.    Text 90,168,T$
  367.    Ink 2,3,3
  368.    Paper 5 : Locate 0,0 : Print " "
  369.    Goto SORRY
  370.    FOUND: Curs Off : Flash Off : Ink 0,4,4
  371.    RECORD=TURN-1
  372.    T$=Str$(RECORD)
  373.    Text 89,29,T$
  374.    Ink 6,3,3
  375.    X=79 : Y=46 : T$=SURNAME$ : DETAILS
  376.    X=104 : Y=56 : T$=FIRST$ : DETAILS
  377.    X=160 : Y=66 : T$=NUMBER$ : DETAILS
  378.    X=136 : Y=76 : T$=ADRESS1$ : DETAILS
  379.    X=136 : Y=86 : T$=ADRESS2$ : DETAILS
  380.    X=136 : Y=96 : T$=ADRESS3$ : DETAILS
  381.    X=120 : Y=106 : T$=COUNTY$ : DETAILS
  382.    X=128 : Y=116 : T$=POST$ : DETAILS
  383.    X=63 : Y=126 : T$=PHONE$ : DETAILS
  384.    X=152 : Y=136 : T$=CODE$ : DETAILS
  385.    Curs Off : Flash Off : Ink 2,3,3
  386.    T$="                    "
  387.    Text 90,168,T$
  388.    Paper 5 : Locate 0,0 : Print " "
  389.    T$="Continue search Y/N"
  390.    Text 90,168,T$
  391.    SWITCH=0
  392.    Repeat 
  393.       M=Mouse Zone
  394.       C=Mouse Key
  395.       If C<>0 and M=22 Then SELECT$="N" : SWITCH=1
  396.       If C<>0 and M=33 Then SELECT$="Y" : Wait 10 : SWITCH=1
  397.    Until SWITCH=1
  398.    T$="                    "
  399.    Text 90,168,T$
  400.    Paper 5 : Locate 0,0 : Print " "
  401.    If SELECT$="N" Then Goto SORRY
  402.    If SELECT$="Y" and TURN=MACKS Then Goto BEEPIT
  403.    If SELECT$="Y" Then NAF=TURN-1 : Goto INSUF
  404.    SORRY: FOUND=1 : Bell 
  405. End Proc
  406. Procedure DETAILS
  407.    Text X,Y,T$
  408. End Proc
  409. Procedure ALTER
  410.    Ink 2,3,3
  411.    AGA2: T$="Keyboard or Mouse K/M"
  412.    Text 90,168,T$
  413.    Paper 5 : Locate 0,0 : Print " "
  414.    SWITCH=0
  415.    COUL=6
  416.    DUMP$=""
  417.    Repeat 
  418.       C=Mouse Key
  419.       M=Mouse Zone
  420.       If C<>0 and M=19 Then SELECT$="K" : SWITCH=1
  421.       If C<>0 and M=21 Then SELECT$="M" : SWITCH=1
  422.    Until SWITCH=1
  423.    T$="Enter New Details     "
  424.    Text 90,168,T$
  425.    Paper 5 : Locate 0,0 : Print " "
  426.    NUM=0
  427.    LIMIT=18
  428.    X=79 : Y=46
  429.    Curs Off : Flash Off : Ink COUL,3,3
  430.    T$="                  "
  431.    Text X,Y,T$
  432.    Paper 5 : Locate 0,0 : Print " "
  433.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  434.    Rem ---------------------------------- 
  435.    Rem Get The Information For The Record 
  436.    Rem ---------------------------------- 
  437.    SURNAME$=DUMP$ : DUMP$="" : LIMIT=18 : X=104 : Y=56
  438.    T$="                  "
  439.    Text X,Y,T$
  440.    Paper 5 : Locate 0,0 : Print " "
  441.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  442.    FIRST$=DUMP$ : DUMP$="" : LIMIT=13 : X=160 : Y=66
  443.    T$="                  "
  444.    Text X,Y,T$
  445.    Paper 5 : Locate 0,0 : Print " "
  446.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  447.    NUMBER$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=76
  448.    T$="                  "
  449.    Text X,Y,T$
  450.    Paper 5 : Locate 0,0 : Print " "
  451.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  452.    ADRESS1$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=86
  453.    T$="                  "
  454.    Text X,Y,T$
  455.    Paper 5 : Locate 0,0 : Print " "
  456.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  457.    ADRESS2$=DUMP$ : DUMP$="" : LIMIT=18 : X=136 : Y=96
  458.    T$="                  "
  459.    Text X,Y,T$
  460.    Paper 5 : Locate 0,0 : Print " "
  461.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  462.    ADRESS3$=DUMP$ : DUMP$="" : LIMIT=15 : X=120 : Y=106
  463.    T$="                  "
  464.    Text X,Y,T$
  465.    Paper 5 : Locate 0,0 : Print " "
  466.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  467.    COUNTY$=DUMP$ : DUMP$="" : LIMIT=12 : X=128 : Y=116
  468.    T$="                  "
  469.    Text X,Y,T$
  470.    Paper 5 : Locate 0,0 : Print " "
  471.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  472.    POST$=DUMP$ : DUMP$="" : LIMIT=12 : X=63 : Y=126
  473.    T$="                  "
  474.    Text X,Y,T$
  475.    Paper 5 : Locate 0,0 : Print " "
  476.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  477.    PHONE$=DUMP$ : DUMP$="" : LIMIT=10 : X=152 : Y=136
  478.    T$="                  "
  479.    Text X,Y,T$
  480.    Paper 5 : Locate 0,0 : Print " "
  481.    If SELECT$="K" Then Proc KEYBOARD Else Proc MOUSE : Wait 10
  482.    CODE$=DUMP$ : DUMP$=""
  483.    Rem ---------------------------  
  484.    Rem Check That Details Are Okay  
  485.    Rem ---------------------------  
  486.    Curs Off : Flash Off : Ink 2,3,3
  487.    T$="                    "
  488.    Text 90,168,T$
  489.    Paper 5 : Locate 0,0 : Print " "
  490.    T$="Is This Correct Y/N"
  491.    Text 90,168,T$
  492.    Bell 
  493.    SWITCH=0
  494.    Repeat 
  495.       M=Mouse Zone
  496.       C=Mouse Key
  497.       If C<>0 and M=22 Then SELECT$="N" : SWITCH=1
  498.       If C<>0 and M=33 Then SELECT$="Y" : SWITCH=1
  499.    Until SWITCH=1
  500.    If SELECT$="N" Then Goto AGA2
  501.    If SELECT$="Y" Then Put 1,(RECORD+1)
  502.    Curs Off : Flash Off : Ink 2,3,3
  503.    T$="                    "
  504.    Text 90,168,T$
  505.    Paper 5 : Locate 0,0 : Print " "
  506.    FOUND=1 : Bell 
  507. End Proc
  508. Procedure VEIW
  509.    Get 1,1 : MACKS=Val(SURNAME$) : If MACKS<2 Then Pop Proc
  510.    DUMP$="" : RECORD=1
  511.    Ink 2,3,3
  512.    T$="Click on ENT to Select"
  513.    Text 90,168,T$
  514.    Paper 5 : Locate 0,0 : Print " "
  515.    Get 1,2 : Proc SHOOWIT
  516.    Repeat 
  517.       CHECK=0
  518.       CHECK2=0
  519.       M=Mouse Zone
  520.       C=Mouse Click
  521.       If M=52 and C<>0 Then M=52 : If RECORD>1 Then RECORD=RECORD-1 : CHECK=1
  522.       If CHECK=1 Then Get 1,RECORD+1 : Proc SHOOWIT
  523.       If M=53 and C<>0 Then M=53 : If RECORD<MACKS-1 Then RECORD=RECORD+1 : CHECK2=1
  524.       If CHECK2=1 Then Get 1,RECORD+1 : Proc SHOOWIT
  525.    Until M=49 and C<>0
  526.    T$="                      "
  527.    Text 90,168,T$
  528.    Paper 5 : Locate 0,0 : Print " "
  529.    FOUND=1 : Bell 
  530. End Proc
  531. Procedure SHOOWIT
  532.    Curs Off : Flash Off : Ink 0,4,4
  533.    T$=Str$(RECORD)
  534.    Text 89,29,T$
  535.    Ink 6,3,3
  536.    X=79 : Y=46 : T$=SURNAME$ : DETAILS
  537.    X=104 : Y=56 : T$=FIRST$ : DETAILS
  538.    X=160 : Y=66 : T$=NUMBER$ : DETAILS
  539.    X=136 : Y=76 : T$=ADRESS1$ : DETAILS
  540.    X=136 : Y=86 : T$=ADRESS2$ : DETAILS
  541.    X=136 : Y=96 : T$=ADRESS3$ : DETAILS
  542.    X=120 : Y=106 : T$=COUNTY$ : DETAILS
  543.    X=128 : Y=116 : T$=POST$ : DETAILS
  544.    X=63 : Y=126 : T$=PHONE$ : DETAILS
  545.    X=152 : Y=136 : T$=CODE$ : DETAILS
  546. End Proc
  547. Procedure QUIT
  548.    Ink 2,3,3
  549.    T$="Quit,Are You Sure Y/N"
  550.    Text 90,168,T$
  551.    SWITCH=0
  552.    Repeat 
  553.       M=Mouse Zone
  554.       C=Mouse Key
  555.       If C<>0 and M=22 Then SELECT$="N" : SWITCH=1
  556.       If C<>0 and M=33 Then SELECT$="Y" : SWITCH=1
  557.    Until SWITCH=1
  558.    If SELECT$="N" Then Goto COMFORT
  559.    If SELECT$="Y" and OPEN=1 Then Close 1
  560.    If SELECT$="Y" Then Edit 
  561.    COMFORT: Curs Off : Flash Off : Ink 2,3,3
  562.    T$="                     "
  563.    Text 90,168,T$
  564.    Paper 5 : Locate 0,0 : Print " " : Bell 
  565. End Proc